* password is xored with these bytes:  F3,26,81,C4,39,86,DB,92,71,A3,B9,E6,53,7A,95,7C


FLAP HEADER   6 BYTES
  *
  1 byte channel  1=connect  2=data   3 = flap error
  2 byte sequence num (2)
  2 byte data len

SNAC HEADER  10 BYTES
  2 byte family: in this doc SNAC XX,YY stands for family XX subtype YY
  2 byte subtype
  2 byte flags: use 0000 where not specified
  4 byte request-id: used only for client-server requests
            it seems that the most significant bit has a special meaning,
            and if it is set the server disconnects you

TLV    type     length     value
      2 bytes  2 bytes    n bytes


STRINGS never null terminated







Get Header
Get Data
  Use family/subtype to decode and exe

0xFAMILY      0xTYPE        FUNCTION

1             2   s<-c       Client Ready 
1             3   s->c       Host Ready
1             6   s<-c       req rate info
1             7   s->c       Rate response
1             8   s<-c       Rate ack
1            14   s<-c       Set privacy flags
1             e   s<-c       req personal info
1             f   s->c       personal info

2             4   s<-c       set personal info (no caps)

3             2   s<-c       req buddy rights
3             3   s->c       buddy rights (ignore)
3             4   s<-c       add buddy
3             5   s<-c       remove buddy
3             b   s->c       online buddy
3             c   s->c       offline buddy

4             2   s<-c       initial icbm
4             4   s<-c       req icbm rights
4             5   s->c       icbm rights (ignore)
4             6   s<-c       send im
4             7   s->c       get im  (depends on class)

9             2   s<-c       req bos rights
9             3   s->c       bos info (ignore)
9             4   s<-c       unknown
9             7   s<-c       unknown










AIM SIGNON
Connect to login.oscar.aol.com
GET  connection ack
SEND Authorization request  (name, pass, info)
GET  auth response   (new server, cookie)

Connect to new server
GET  connection ack
SEND signon - cookie
GET  Host ready

SEND rate req
GET  rate info
SEND rate ack

SEND privacy flags

SEND user info req
GET  user info response

SEND more rights request stuff

SEND all buddies
SEND user info (caps)
SEND initial icbm
SEND client ready  close connect window

oncoming buddy
offgoing buddy
send im
receive im

add buddy
remove buddy








ICQ
get offline messages
refuse all direct connections
ignore roster
different send / rcv messages